package pers.vankid.timecount.model.stencil;

import com.google.common.collect.ImmutableMap;

import java.util.Map;

/**
 * Created by shixj on 2018/4/19.
 * 闰年二月29天
 */
public class LeapFebruary implements Month{
   public static Map<String, String> COLUMNS =
            new ImmutableMap.Builder<String, String>().
                    put("name", "姓名").
                    put("lastBalance", "上月结余（h）").
                    put("one", "1").
                    put("two", "2").
                    put("three", "3").
                    put("four", "4").
                    put("five", "5").
                    put("six", "6").
                    put("seven", "7").
                    put("eight", "8").
                    put("nine", "9").
                    put("ten", "10").
                    put("eleven", "11").
                    put("twelve", "12").
                    put("thirteen", "13").
                    put("fourteen", "14").
                    put("fifteen", "15").
                    put("sixteen", "16").
                    put("seventeen", "17").
                    put("eighteen", "18").
                    put("nineteen", "19").
                    put("twenty", "20").
                    put("twentyOne", "21").
                    put("twentyTwo", "22").
                    put("twentyThree", "23").
                    put("twentyFour", "24").
                    put("twentyFive", "25").
                    put("twentySix", "26").
                    put("twentySeven", "27").
                    put("twentyEight", "28").
                    put("twentyNine", "29").
                    put("newBalance", "结余(h)").
                    build();
    private String name;
    private double lastBalance;
    private double newBalance;
    private double one;
    private double two;
    private double three;
    private double four;
    private double five;
    private double six;
    private double seven;
    private double eight;
    private double nine;
    private double ten;
    private double eleven;
    private double twelve;
    private double thirteen;
    private double fourteen;
    private double fifteen;
    private double sixteen;
    private double seventeen;
    private double eighteen;
    private double nineteen;
    private double twenty;
    private double twentyOne;
    private double twentyTwo;
    private double twentyThree;
    private double twentyFour;
    private double twentyFive;
    private double twentySix;
    private double twentySeven;
    private double twentyEight;
    private double twentyNine;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getLastBalance() {
        return lastBalance;
    }

    public void setLastBalance(double lastBalance) {
        this.lastBalance = lastBalance;
    }

    public double getNewBalance() {
        return newBalance;
    }

    public void setNewBalance(double newBalance) {
        this.newBalance = newBalance;
    }

    public double getOne() {
        return one;
    }

    public void setOne(double one) {
        this.one = one;
    }

    public double getTwo() {
        return two;
    }

    public void setTwo(double two) {
        this.two = two;
    }

    public double getThree() {
        return three;
    }

    public void setThree(double three) {
        this.three = three;
    }

    public double getFour() {
        return four;
    }

    public void setFour(double four) {
        this.four = four;
    }

    public double getFive() {
        return five;
    }

    public void setFive(double five) {
        this.five = five;
    }

    public double getSix() {
        return six;
    }

    public void setSix(double six) {
        this.six = six;
    }

    public double getSeven() {
        return seven;
    }

    public void setSeven(double seven) {
        this.seven = seven;
    }

    public double getEight() {
        return eight;
    }

    public void setEight(double eight) {
        this.eight = eight;
    }

    public double getNine() {
        return nine;
    }

    public void setNine(double nine) {
        this.nine = nine;
    }

    public double getTen() {
        return ten;
    }

    public void setTen(double ten) {
        this.ten = ten;
    }

    public double getEleven() {
        return eleven;
    }

    public void setEleven(double eleven) {
        this.eleven = eleven;
    }

    public double getTwelve() {
        return twelve;
    }

    public void setTwelve(double twelve) {
        this.twelve = twelve;
    }

    public double getThirteen() {
        return thirteen;
    }

    public void setThirteen(double thirteen) {
        this.thirteen = thirteen;
    }

    public double getFourteen() {
        return fourteen;
    }

    public void setFourteen(double fourteen) {
        this.fourteen = fourteen;
    }

    public double getFifteen() {
        return fifteen;
    }

    public void setFifteen(double fifteen) {
        this.fifteen = fifteen;
    }

    public double getSixteen() {
        return sixteen;
    }

    public void setSixteen(double sixteen) {
        this.sixteen = sixteen;
    }

    public double getSeventeen() {
        return seventeen;
    }

    public void setSeventeen(double seventeen) {
        this.seventeen = seventeen;
    }

    public double getEighteen() {
        return eighteen;
    }

    public void setEighteen(double eighteen) {
        this.eighteen = eighteen;
    }

    public double getNineteen() {
        return nineteen;
    }

    public void setNineteen(double nineteen) {
        this.nineteen = nineteen;
    }

    public double getTwenty() {
        return twenty;
    }

    public void setTwenty(double twenty) {
        this.twenty = twenty;
    }

    public double getTwentyOne() {
        return twentyOne;
    }

    public void setTwentyOne(double twentyOne) {
        this.twentyOne = twentyOne;
    }

    public double getTwentyTwo() {
        return twentyTwo;
    }

    public void setTwentyTwo(double twentyTwo) {
        this.twentyTwo = twentyTwo;
    }

    public double getTwentyThree() {
        return twentyThree;
    }

    public void setTwentyThree(double twentyThree) {
        this.twentyThree = twentyThree;
    }

    public double getTwentyFour() {
        return twentyFour;
    }

    public void setTwentyFour(double twentyFour) {
        this.twentyFour = twentyFour;
    }

    public double getTwentyFive() {
        return twentyFive;
    }

    public void setTwentyFive(double twentyFive) {
        this.twentyFive = twentyFive;
    }

    public double getTwentySix() {
        return twentySix;
    }

    public void setTwentySix(double twentySix) {
        this.twentySix = twentySix;
    }

    public double getTwentySeven() {
        return twentySeven;
    }

    public void setTwentySeven(double twentySeven) {
        this.twentySeven = twentySeven;
    }

    public double getTwentyEight() {
        return twentyEight;
    }

    public void setTwentyEight(double twentyEight) {
        this.twentyEight = twentyEight;
    }

    public double getTwentyNine() {
        return twentyNine;
    }

    public void setTwentyNine(double twentyNine) {
        this.twentyNine = twentyNine;
    }
    @Override
    public Month factory(FullMonth fullMonth) {
        this.name = fullMonth.getName();
        this.lastBalance = fullMonth.getLastBalance();
        this.newBalance = fullMonth.getNewBalance();
        this.one=fullMonth.getOne();
        this.two=fullMonth.getTwo();
        this.three=fullMonth.getThree();
        this.four=fullMonth.getFour();
        this.five=fullMonth.getFive();
        this.six=fullMonth.getSix();
        this.seven=fullMonth.getSeven();
        this.eight=fullMonth.getEight();
        this.nine=fullMonth.getNine();
        this.ten=fullMonth.getTen();
        this.eleven=fullMonth.getEleven();
        this.twelve=fullMonth.getTwelve();
        this.thirteen=fullMonth.getThirteen();
        this.fourteen=fullMonth.getFourteen();
        this.fifteen=fullMonth.getFifteen();
        this.sixteen=fullMonth.getSixteen();
        this.seventeen=fullMonth.getSeventeen();
        this.eighteen=fullMonth.getEighteen();
        this.nineteen=fullMonth.getNineteen();
        this.twenty=fullMonth.getTwenty();
        this.twentyOne=fullMonth.getTwentyOne();
        this.twentyTwo=fullMonth.getTwentyTwo();
        this.twentyThree=fullMonth.getTwentyThree();
        this.twentyFour=fullMonth.getTwentyFour();
        this.twentyFive=fullMonth.getTwentyFive();
        this.twentySix=fullMonth.getTwentySix();
        this.twentySeven=fullMonth.getTwentySeven();
        this.twentyEight=fullMonth.getTwentyEight();
        this.twentyNine=fullMonth.getTwentyNine();
        this.newBalance=this.lastBalance+this.one+this.two+this.three+this.four+this.five+this.six+this.seven+this.eight+this.nine+this.ten+
                this.eleven+this.twelve+this.thirteen+this.fourteen+this.fifteen+this.sixteen+this.seventeen+this.eighteen+this.nineteen+this.twenty+
                this.twentyOne+this.twentyTwo+this.twentyThree+this.twentyFour+this.twentyFive+this.twentySix+this.twentySeven+this.twentyEight+this.twentyNine;
        return this;
    }
}
